Management systems utilized in a business or other enterprise frequently apply computing systems to automate aspects of the enterprise management. Such systems manage aspects and relationships of various objects associated with the enterprise. Objects, as used herein, relates to any item to be managed by a computer based management system. Objects include, but are not limited to, examples such as hosts, bridges, segments, networks, political domains, people, organizations, and applications. A management system displays the topology of the objects within the management system. As used in this description and the appended claims, the word "topology" means a collection of objects and object relationships, and "object relationships" refer to the manner in which the objects relate to one another in the topology. Typically, the relationships defining a topology are connection, containment, and dependency. For example, where two objects are connected to one another, the topology shows a symbol for one object, another symbol for the other object, and a symbol (usually between the two objects) showing that the objects are connected. Similarly, where objects are contained in one another, the topology symbolically shows the two objects and the hierarchy of the containment. It can be appreciated by one ordinarily skilled in the art that containment is typically represented by displaying on the initial display map the object that is containing other objects. A "map" is defined as the visual topological display of a defined grouping of objects and their relationships. Once the user selects an object on the map, a new map is presented showing the objects contained within the selected object. A map of objects contained within another object can be referred to as a "submap." The objects on this submap can be selected, in the same way, showing the objects and object relationships contained therein. In this way, the hierarchy of a multitude of objects can be represented in a user friendly manner. It is the task of computer based management systems to display desired topologies to the user and to change the topologies as the objects and the relationships between them change.
Oftentimes, the data defining the object attributes and relationships are associated with a networking system. As used herein, object attributes refer to the status of the objects being displayed. An example of a network topology would be the specifications pertaining to the devices and device interconnections associated with a network. The management system should be capable of reading information from a network so the system can display the appropriate object attributes and relationships.
Historically, users desiring to have a computer based topology representation developed map applications to interact with a management system application program interface (hereinafter referred to as a management system API). A map application, as used herein, is a hard-wired programmatic approach to programmatically discover object attributes and relationships from either a computer network or outside source and to render these attributes and relationships to the management system API. The management system API is a display map generation process and displays the topological hierarchy of the object attributes and relationships. Generally, each system of objects requires a specific map application to render the object attributes and relationships to the management system API. Therefore, an implementor usually has to implement one map application to interface one topology and to implement another application to interface a different topology.
In order to successfully create map applications, an implementor learns hundreds of function calls to interface with the management system API. The training of personnel to successfully interface with a network and its management system API poses a significant cost to a potential implementor. In addition, since the map application algorithmically introduces information to the management system API, the map application has to be built, tested, and debugged. The data structures representing the different object attributes and relationships are frequently complex, and the process of creating a working algorithmic map application is expensive. These training and implementation costs represent a significant barrier to a potential implementor of the map application.